home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / doc / kbd / README.Crosser < prev    next >
Text File  |  2008-03-13  |  3KB  |  53 lines

  1. # International console driver fixes for Linux kernel .99pl13
  2. # Eugene G. Crosser <crosser@pccross.msk.su>
  3.  
  4. This package provide fixes in the kernel (console.c, keydoard.c and vt.c),
  5. setfont and mapscrn utilities, and fixes to the loadkey utility.
  6. setfont loads custom EGA/VGA fonts, mapscrn specifies screen output mapping,
  7. and loadkeys with this fixes provides "AltGr-Lock" state of the keyboard,
  8. and makes possible to specify which characters are alphabetic and therefore
  9. should be affected by the CapsLock.
  10.  
  11. make all    -    compile utilities and binary tables
  12. make apply    -    apply cdiffs to the kernel code & .h files
  13. make install    -    install utilities in the /etc directory
  14.  
  15. Utilities make use of ioctl() entries added to the kernel as follows:
  16.  
  17. "setfont" accepts binary font from the file specified as a paramter.
  18. File size may be 2048, 3584 and 4096 bytes for 8x8, 8x14 and 8x16
  19. fonts respectively.
  20.  
  21. "mapscrn" accepts a 256 byte translation table from the file specified as a
  22. parameter and passes it to the "user definable" (fourth) mapping table
  23. in the kernel. First 32 bytes of the file (control characters) are always 
  24. ignored. All screen output will be translated if a "\033(K" (or "\033)K")
  25. sequence was outputted to select the "user definable" table.
  26.  
  27. All this witchkraft with the output mapping is nesseccary because of
  28. VGA architecture: it extends the character bitmap from 8 to 9 columns
  29. for some interval of codes on the hardware level. This is appropriate
  30. for certain graphic characters, but inappropriate if you have letters
  31. in that place ot the character table. In the latter case, you can place
  32. character bitmaps on not-extendable positions in the font table, and
  33. use appropriate mapping table. This is done for Cyrillic character set
  34. "koi8-r" (RFC1489).
  35.  
  36. The fixes in loadkey utility are necessary because of two reasons.
  37. First, non-Latin based character sets (such as Cyrillic) require a
  38. special lock state for the keyboard. Current "shift-locks" implementation
  39. in the keyboard driver is inconvenient, as it does not allow "switchback"
  40. when the "shift" key is pressed while "shift-lock" is active.  Second, 
  41. with non-ISO-8859 compliant character sets one cannot easily figure out 
  42. if a certain character is a "lowercase letter" and should therefore be 
  43. affected by CapsLock.  A plus sign ('+') in front of the character 
  44. definition in the keymapping table is used to identify this character 
  45. as "affectable by CapsLock". Loadkeys utility treats lowercase latin 
  46. characters ('a'-'z') as affectable in any case. Effect of CapsLock is 
  47. to invert the "shift" state (unlike the original driver, where it always
  48. "shifts up").
  49.  
  50. Note that if you need to make custom screen mapping default, you will
  51. have to output the magic escape sequence ("\033(K" or "\033)K") to every
  52. virtual screen in use. That can be done from /etc/profile. 
  53.